Commercially available video game systems permit a user to select, at various points in a game, a wide range of game playing options which control the remainder of game play. For example, a user may control the movement of a display character to exit a display screen in various alternative ways. Depending upon the user's exit choice, the display character enters a different world. Such user selected game playing options are part of the original game program, which is not altered in any way.
In the prior art, a rudimentary attempt has been made to permit a user to modify, in limited respects, the intended manner in which a video game program operates. In this product, a game changing device is physically inserted into a conventional video game cartridge which in turn is coupled to a microprocessor based video game console. The game changing device includes a read-only memory (ROM) storing codes likely to be changed during the course of a game. The device monitors the video game microprocessor's address and data bus and transmits to the microprocessor a replacement code if there is a match with expected values. The replacement code modifies game play characteristics such as the number of lives of a character, the number of missiles which may be fired, etc. The user has no control over a game editing process with this product and has no ability to radically change game play in the manner that is practically realizable in accordance with the present invention. Moreover, game play can only be changed to permit operations and graphic displays originally contemplated within the realm of possible operations by the game programmer.
Professional video game designers have heretofore had access to game program authoring tools to aid in designing an original games. In such programming authoring systems, considerable program designer activity is often required to modify a game under development in even very simple respects. For example, changes that are made to characters in a game are typically first made in an original character array, specified by the artist who formulated the character images. Any change made to characters must then be saved as a new file and transferred to, for example, a program debugging module which introduces the change into the game program under development. Changing the graphics of a game under development even with respect to relatively simple modifications typically involves a complex process of recompiling, reloading and displaying the modification. While a wide variety of sophisticated changes may be made to a game program being authored under the control of conventional authoring programs, such modifications require a high degree of programming sophistication and knowledge of game programming techniques.
In accordance with the present invention, unique video games may be simply created by users ranging from a relatively unsophisticated elementary school students to sophisticated game developers. A unique hardware and software platform enables users to create original games by selecting icons which access more detailed editor screens permitting the user to directly change a wide variety of game display characteristics concerning moving objects and game backgrounds.
Model software containing a model game from a desired genre of games is loaded into a video game RAM cassette and operating system software is loaded into a system RAM via a floppy disk. The present invention permits the user to initiate model game play, stop the game at any desired game screen to initiate a "system break" editing session during which a system window for enabling control over a wide variety of editing features is superimposed on the game screen. The user then selects a moving object or background scene for modification. If, for example, the user selects a moving object, then the moving object selected is identified by a unit number which is associated with a wide range of game play related characteristics. Once the moving object is selected, further icons are displayed permitting the user to completely change the object's character dot pattern for one or more of the poses associated with the object, animation features related to the object, the responses associated with detected game play conditions associated with the object, the collection of statuses associated with each object, the pattern of the object's movement, the sound associated with the pattern of the objects movement and a wide variety of additional game play related characteristics. The screen background may be likewise modified by accessing a stage window permitting the entire background map, the music associated with the background and a wide variety of additional background related features to be edited.
The exemplary embodiment of the present invention uses a multiprocessor based game processor console which includes a main central processing unit (CPU) controlling editing operations and operating system task execution and a game CPU for executing the model video game that is loaded into a pluggable RAM cartridge. The model video game provides a starting point from which a user can readily create an original video game using desired aspects of the model game. The model video game can be readily modified to such an extent it appears to be a completely new game. The system permits a user to modify any of the game's moving objects, background screens, music or sound effects.
The main CPU and game CPU cooperate in the game execution and editorial process such that an editing screen generated by the main CPU is superimposed on a game screen generated by the program executing CPU. The game processing console includes ports connected to a wide variety of peripheral devices including a standard television set, keyboard, game hand controllers, mouse, modem board, an interface board for coupling the game processor to a personal computer system, floppy disk drive, an external RAM game cartridge and a user's ID card.
The system utilizes unique "unit" based data structures in which moving objects are processed on a unit basis and where each object is assigned a unit ID which is associated with a wide range of object, game characteristics, game processing and location data including status information, present screen display location, object format, character size, pose information, collision threshold information, tempo information, attribute data, animation data together with address pointers identifying other processing related information associated with the identified object. A wide range of information is likewise stored in data structures associated with background screens referred to herein as "stage" data. Programming is structured for ease of user editing using condition and process related operation tables and unit pointers that identify object unit data structures which are to be processed. Unit operation tables are utilized for processing the units and identify both a predetermined condition and the processing operation to be performed upon detection of the predetermined condition for each unit. Both condition and process operation may be changed by the user by modifying these tables.